package cn.hesion.designpattern.Singleton;

import java.io.Serializable;

public class SeriableSingleton implements Serializable {
    //序列化就是把内存中的状态通过转化成字节码的形式
    //从而转换一个I/O流，写入其他地方（可以是磁盘、网络I/O）
    //内存中的状态会被永久保存下来

    //反序列化就是将已经持久化的字节码内容转化为I/O流
    //通过I/O流的读取，进而将读取的内容转换为对象
    //并在转换过程中重新创建对象

    public final static SeriableSingleton INSTANCE = new SeriableSingleton();

    private SeriableSingleton() {
    }

    public static SeriableSingleton getInstance() {
        return INSTANCE;
    }

    public Object readResolve() {
        return INSTANCE;
    }
}
